package function.segment;

import java.util.ArrayList;
import java.util.List;

public class RequestTable {
	private List<RequestTableItem> requestTableItems;
	public List<RequestTableItem> getRequestTableItems() {
		return requestTableItems;
	}
	public void setRequestTableItems(List<RequestTableItem> requestTableItems) {
		this.requestTableItems = requestTableItems;
	}
	
	public RequestTableItem  getProcess(int processNo){
		for(RequestTableItem requestTableItem:requestTableItems){
			if (requestTableItem.getProcessNo()==processNo){
				return requestTableItem;
			}
		}
		return null;
	}
	
	public void addProcess(RequestTableItem requestTableItem){
		this.requestTableItems.add(requestTableItem);
	}
	public void addProcess(int processNo,int firstAddress,int allocSize){
		boolean status=true; 
		if (firstAddress==0){
			status=false;
		}
		RequestTableItem requestTableItem=new RequestTableItem(processNo,firstAddress,allocSize,status);		
		this.requestTableItems.add(requestTableItem);
	}
	public void removeProcess(int processNo){
		for(RequestTableItem requestTableItem:requestTableItems){
			if (requestTableItem.getProcessNo()==processNo){
				this.requestTableItems.remove(requestTableItem);
				break;
			}
		}
	}
	public void removeProcess(RequestTableItem requestTableItem){
		this.requestTableItems.remove(requestTableItem);
	}
	public RequestTable() {
		super();
		this.requestTableItems=new ArrayList<RequestTableItem>();
	}
	
}
